from tornado import web, ioloop
from tornado.options import define, options, parse_command_line

# 知识点：
# 1. 如何通过外界传入的参数进行初始化


# define 定义一些可以在命令行中传递的参数以及类型
# python options_test.py -port=8001
define('port', default=8000, help="设置指定的端口运行", type=int)
define('debug', default=True, help="是否开启调试模式", type=bool)
# options.parse_command_line()

options.parse_config_file("config.cfg")

# options是一个类，全局只有一个options


class MainHandler(web.RequestHandler):

    # 当客户端发起不同的http方法的时候，只需要重载handler中对应的方法即可
    async def get(self, *args, **kwargs):
        self.write("hello world3!")


if __name__ == '__main__':
    app = web.Application([
        ("/", MainHandler)
    ], debug=options.debug)

    app.listen(options.port)

    ioloop.IOLoop.current().start()
